package com.mazaiting.redeye.base

import android.content.Context
import android.content.SharedPreferences
import com.mazaiting.redeye.api.UserApi
import com.mazaiting.redeye.base.module.ApiModule
import com.mazaiting.redeye.base.module.ApplicationModule
import com.mazaiting.redeye.base.module.NetModule
import com.mazaiting.easy.app.IApplicationComponent
import com.mazaiting.redeye.api.FaceApi

import dagger.Component

/**
 * 全局ApplicationComponent组件
 */
@Component(modules = [NetModule::class, ApplicationModule::class, ApiModule::class])
interface ApplicationComponentImpl : IApplicationComponent {
    /**
     * 获取SharedPreferences
     * @return SharedPreferences对象
     */
    val sharedPreferences: SharedPreferences

    /**
     * 上下文
     * @return 上下文
     */
    val context: Context

    /**
     * 用户操作 接口
     * @return 用户操作相关接口
     */
    val userApi: UserApi

    /**
     * 人脸接口
     */
    val faceApi: FaceApi
}
